export default {
	namespaced: true, // 命名空间
	state: {
		list: [] // 商品数据
	},
	mutations: {
		
		// 只留下没有选中
		removeSelected(state){
			state.list = state.list.filter(it => !it.goods_checked)
		},
		
		// 修改数量
		changeCount(state, {idx, val}) {
			console.log('mutations:', idx, val)
			// 对新的数量做限制，例如，不能小于0
			const newCount = state.list[idx].goods_count + val
			if(newCount >= 0)
				state.list[idx].goods_count = newCount
		},
		
		// 修改单个商品的选中状态
		switchSingle(state, {idx, val}) {
			state.list[idx].goods_checked = val
		},
		
		// 修改全部商品的选中状态
		switchAll(state,val){
			state.list.forEach(it => it.goods_checked = val)
		},
		
		// 定义一个mutations
		// state就是上面的state
		add(state, payload) {
			// 判断这件商品之前是否存在
			const obj = state.list.find(it => it.goods_id === payload.goods_id)
			if(obj) {
				obj.goods_count++
			} else {
				state.list.push(payload)
			}
		}
	}
}